﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DDD.Core {
    /// <summary>
    /// トランスフォーム構造体
    /// </summary>
    public struct Transform {
        /// <summary>
        /// コンストラクター
        /// </summary>
        /// <param name="vbuf">頂点バッファー</param>
        /// <param name="fbuf">フィードバックバッファー</param>
        /// <param name="app">アピアランス</param>
        internal Transform(VertexBuffer vbuf, FeedbackBuffer fbuf, Appearance app) : this(){
            this.VertexBuffer = vbuf;
            this.FeedbackBuffer = fbuf;
            this.Appearance = app;
        }

        /// <summary>
        /// 頂点バッファー
        /// </summary>
        public VertexBuffer VertexBuffer {get; private set;}

        /// <summary>
        /// フィードバックバッファー
        /// </summary>
        /// <remarks>
        /// 変形後の頂点データを受け取ります
        /// </remarks>
        public FeedbackBuffer FeedbackBuffer {get; private set;}

        /// <summary>
        /// アピアランス
        /// </summary>
        /// <remarks>
        /// 変形に使用されるアピアランス(シェーダー)です
        /// </remarks>
        public Appearance Appearance {get; private set;}
    }


}
